//
//  BaseTableViewController.swift
//  Sina
//
//  Created by yuanyuan on 15/12/17.
//  Copyright © 2015年 yuanyuan. All rights reserved.
//

import UIKit

//根据用户是否登录 去显示访客视图 还是 表视图
//OC <xxxDelegate>
// OC中有多继承吗?  没有 用什么替代

//注意 报错 是没有实现必选的协议方法
class BaseTableViewController: UITableViewController,VisitorLoginViewDelegate {
//设置用户是否登录的标记
    var userLogin = UserAccountViewModel().userLogin                 //false
//   新建属性访客视图
    var visitorLoginView:VisitorLoginView?
    
    //假如子视图  准备所有的视图层次关系
    //苹果专门为手码开发准备的 一旦实现了该方法  xib/ sb 自动失效
    //如果检测到view(根视图)为 nil  会自动调用 loadView

    override func loadView() {
        if userLogin {
            super.loadView()
            
        } else {
            
            
            setVisitorLoginView()
        }

    }
    override func viewDidLoad() {
        super.viewDidLoad()
        print(view.bounds)
        
    }
    
    
    func setVisitorLoginView(){
        
        visitorLoginView = VisitorLoginView()
        
//        设置代理
        visitorLoginView?.visitorViewDelegate = self
        
        view = visitorLoginView
        self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "登陆", style: .Plain, target: self, action: "userWillLogin")
        self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "注册", style: .Plain, target: self, action: "userWillRegister")
        
    
    
    }
    
    
    func userWillLogin() {
        print(__FUNCTION__)
        
        let oauth = OAuthViewController()
        
//        添加到导航视图控制器上
        let nav = UINavigationController(rootViewController: oauth)
        presentViewController(nav, animated:true, completion: nil)
    }
    func userWillRegister() {
        print(__FUNCTION__)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    // MARK: - Table view data source

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 0
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return 0
    }

   }
